Traditional telephony has been provided over a dedicated line. For residential service, this has typically been a single twisted pair being fed to the house. For business service, the dedicated line has included either multiple sets of twisted pairs, or trunk lines (such as T1 lines) being fed into a private branch exchange (PBX) type system. End to end connections with traditional telephony consists of circuit switched connections between the originating party and the terminating party. The circuit switched connection is basically a dedicated connection between the parties that is reserved for that particular telephone call. Thus, the bandwidth dedicated for a single connection is reserved for that connection even during times when conversation is idle. The bandwidth is not freed up until the call is terminated.
Recently, alternative forms of telephony service have been introduced. Such alternative forms include digital cellular telephony, satellite telephony and cable telephony.
With the growth of the Internet on a world-wide basis, the ability to deliver data traffic in a reliable and cost efficient manner has been realized. A recent development in telephony has been a merger of telephony services through the Internet infrastructure. The term of art used to describe such telephony service is voice over IP or VoIP. VoIP is in essence, a set of facilities for managing the delivery of voice information using the Internet Protocol. VoIP generally consists of digitizing the analog voice signal and transmitting it from the origination to the destination over the Internet using packet switched technology. Advantageously, the bandwidth absorbed in providing VoIP is limited to what is required to deliver the information rather than having a dedicated line between the communicating parties.
To provide VoIP, many technical hurdles must be overcome. For instance, unlike the delivery of data, the delivery of voice must be performed in close to real time. In addressing this issue, the real-time protocol RTP was developed to ensure that voice packets get delivered in a timely manner. In addition, since the Internet is made up of a countless number of individual entities providing connectivity to each other rather than a single entity closely managing the facilities, it can be difficult to guarantee a particular quality of service (QoS).
In data networks such as the Internet, transmission rates, error rates and other performance impacts can be predicted and, by applying various techniques, can be controlled or limited. Thus, by performing certain techniques, to some extent, the QoS can be improved.
Cable modem networks may also be used to carry VoIP packets and other data between a cable modem termination system and multiple cable modems. Within a cable modem network, a client desiring to utilize VoIP connects to the network through a subscriber line interface. FIG. 1 is a system diagram illustrating a typical configuration of a modem that is utilized for the provision of VoIP through a cable modem network. The subscriber line interface (SLIC) 105 supplies the high voltage interface to an analog telephone 180 (the VoIP client) and provides a bi-directional analog voice stream to a codec 110. Of course, the VoIP service could also be provided for digital type telephones by modifying the interface to the SLIC 105. The codec 110 contains an analog to digital (AD) and digital to analog (DA) converter that is used to provide a bi-directional digital data stream to a processor 130.
The processor 130 is connected to a memory device, such as a read only memory device (ROM) 140, which contains the program being executed by the processor 130. The processor 130 may also interface with a random access memory (RAM) device 120 for the temporary storage of variables and other data. The program being executed by the processor 130 consists of a network stack that provides an IP link between a cable network 170, and the telephone 180. The network stack also runs two VoIP protocols: Session Initiation Protocol (SIP), and real time protocol (RTP). SIP is used to initiate phone calls between two VoIP users, and to terminate the call at its completion. RTP is used to transport the voice data, or compressed voice data, in a packetized format. Each packet typically contains 20 ms of voice data. The processor 130 is connected to the cable network 170, through a cable network interface 160. The cable network interface 160 maintains the link to the cable network 170, and provides for data flow to the processor 130. Typically a cable modem will also include a user network interface 150. Through the user network interface 150, the user may connect one or more computers, and communicate through the cable network 170.
FIG. 2 is a block diagram of the provision of Internet access through a typical cable network. The cable network 170 connects one or more modems 200 to a single server 210. The server provides an interface to a public or other network 220, such as the Internet, in which many other networks are connected. If a large number of modems 200 are connected, and the processing power of the server 210 is limited, then this type of approach works well. In this case, all telephony is handled at the modem 200 and the server 210 only see IP traffic. However, in this configuration, there is no quality of service, and thus the voice packets could be slowed down due to processing the data traffic, thereby resulting in poor sound quality.
To support voice, the modems 200 need to have additional processing power. Providing this increased processing power also increases the cost of the modem. However, at any given time, not all of the modems 200 will be supporting a telephone call, and thus, most of the processors located in the modems 200 will be inactive or under-utilized. As a result, the amount of processing power to conduct most networks is much less than the processing power per modem multiplied by the number of modems. Therefore, there is a need in the art for a technique that allows such a cable network to support voice, but provides a more cost effective solution for meeting the processing power demands.